<script>
import { storageManager } from '@/utils/storage.js'
import { preloadPages, PerformanceMonitor } from '@/utils/performance.js'

export default {
	onLaunch: function() {
		console.log('App Launch')
		
		// 初始化性能监控
		this.performanceMonitor = new PerformanceMonitor()
		this.performanceMonitor.startTiming('app_launch')
		
		// 预加载关键页面
		this.preloadCriticalPages()
		
		// 清理过期数据
		storageManager.cleanExpiredData()
		
		// 设置全局错误处理
		this.setupErrorHandling()
	},
	onShow: function() {
		console.log('App Show')
		this.performanceMonitor?.endTiming('app_launch')
	},
	onHide: function() {
		console.log('App Hide')
		// 保存应用状态
		this.saveAppState()
	},
	methods: {
		// 预加载关键页面
		preloadCriticalPages() {
			const criticalPages = [
				'/pages/ai/ai',
				'/pages/services/services',
				'/pages/ocr/ocr'
			]
			preloadPages(criticalPages).then(() => {
				console.log('关键页面预加载完成')
			}).catch(err => {
				console.log('页面预加载失败:', err)
			})
		},
		
		// 设置全局错误处理
		setupErrorHandling() {
			// 监听未处理的Promise错误
			window.addEventListener('unhandledrejection', (event) => {
				console.error('未处理的Promise错误:', event.reason)
				// 可以上报错误到服务器
			})
			
			// 监听全局错误
			window.addEventListener('error', (event) => {
				console.error('全局错误:', event.error)
				// 可以上报错误到服务器
			})
		},
		
		// 保存应用状态
		saveAppState() {
			// 保存当前时间作为最后活跃时间
			storageManager.setItem('last_active_time', Date.now())
		}
	}
}
</script>

<style>
	/*每个页面公共css */
	.safe-area-bottom{padding-bottom: env(safe-area-inset-bottom);padding-bottom: constant(safe-area-inset-bottom)}

</style>
